iT邦幫忙

2023 iThome 鐵人賽

DAY 11
0

等於符號

==

" == "是用於比較兩個變數或對象的值是否相等的運算符。這個運算符被稱為等於運算符。

val x = 5
val y = 10
val result = x == y // 將比較 x 和 y 的值是否相等,result 將為 false

result 的值將為 false,因為 x 和 y 的值不相等。

需要注意:
== 運算符比較的是值,而不是參考。這意味著它將比較變數或對象的內容,而不是它們是否是同一個對象。

===

" === "運算符是用來比較兩個對象的引用是否相等的運算符。當使用" === "來比較兩個變數或對象時,它會檢查它們是否指向相同的記憶體位置,即它們是否是同一個對象的引用。

val a: Int = 5
val b: Int = 5
val c: Int? = 5
val d: Int? = null

println(a === b) // true,因為它們引用相同的整數對象
println(a === c) // true,因為它們引用相同的整數對象
println(a === d) // false,因為 d 為 null,不同於其他整數對象

a 和 b 引用相同的整數對象(因為整數值在特定範圍內被緩存,相同的值會引用相同的對象),因此 a === b 為 true。同樣,a 和 c 也引用相同的整數對象,因此 a === c 也為 true。然而,a 和 d 引用不同的對象,因為 d 是 null,所以 a === d 為 false。

" === "運算符用於比較兩個對象的引用地址是否相同,它用於確定兩個變數或對象是否實際上是同一個對象的引用。

總結比較

1." == "運算符(等於運算符):

  • " == "用於比較兩個變數或對象的值是否相等。
  • 它比較變數或對象的內容,而不考慮它們的引用地址。
  • 當兩個變數或對象的值相等時," == "返回" true ";否則返回" false "。

2." === "運算符(三等於運算符):

  • " === "用於比較兩個對象的引用地址,即它們是否是同一個對象的引用。
  • 它不比較對象的值,只比較它們的引用。
  • 當兩個變數或對象引用相同的對象時," === "返回" true ";否則返回" false "。

上一篇
Day 10 Null
下一篇
Day 12 if
系列文
我與Kotlin的愛恨情仇30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言